package com.hz.qs.dao;

import com.hz.qs.model.YiQueues;
import com.hz.qs.model.YiReqChange;
import com.hz.qs.model.vo.CustomerDataVo;
import com.hz.qs.model.vo.CustomerRequest;
import com.hz.qs.model.vo.RequestChangeVo;
import org.apache.ibatis.annotations.Param;

import java.util.LinkedList;
import java.util.List;

public interface CustomerDao {
    LinkedList<CustomerDataVo> getCustomerData(@Param("cr") CustomerRequest customerRequest, @Param("firstDate") String firstDate, @Param("endDate") String endDate);

    LinkedList<YiQueues> getCheckProjectsByCustomerId(@Param("customerId") String customerId);

    Integer addRequestChange(@Param("rc") YiReqChange yiReqChange);

    Integer cancelCheck(@Param("customerId") String customerId,@Param("state") Integer state);

    List<RequestChangeVo> getRequestChangeList();



    List<CustomerDataVo> getAllCustomerData(@Param("jgsId") String jgsId, @Param("firstDate") String firstDate, @Param("endDate") String endDate,@Param("state") String stateStr);

    LinkedList<YiQueues> getYiQueuesData(@Param("customerId") String customerId,@Param("firstDate") String firstDate, @Param("endDate") String endDate);

    void insertQueue(@Param("q") YiQueues queues);

    List<CustomerDataVo> getCustomersList(@Param("cr") CustomerRequest customerRequest,@Param("firstDate") String firstDate,@Param("endDate") String endDate);

    List<CustomerDataVo> getCustomerDataByExamQuest(@Param("customerId") String customerId,@Param("firstDate") String firstDate,@Param("endDate") String endDate);


    LinkedList<CustomerDataVo> getCustomersCount(@Param("cr") CustomerRequest customerRequest, @Param("firstDate") String firstDate, @Param("endDate") String endDate);

    YiQueues getQueuesById(@Param("id") String id);

    void cancelCheck_queue(@Param("id") String id,@Param("state") int i);

    List<YiQueues> getCurrentDateQueues(String firstDate, String endDate);
}
